//package com.heavenick.core.mybatis.generator;
//
//import java.io.File;
//import java.io.IOException;
//import java.io.InputStream;
//import java.util.ArrayList;
//import java.util.HashSet;
//import java.util.List;
//import java.util.Properties;
//import java.util.Set;
//
//import org.mybatis.generator.api.MyBatisGenerator;
//import org.mybatis.generator.api.ProgressCallback;
//import org.mybatis.generator.api.VerboseProgressCallback;
//import org.mybatis.generator.config.Configuration;
//import org.mybatis.generator.config.xml.ConfigurationParser;
//import org.mybatis.generator.internal.DefaultShellCallback;
//
//
//public class MyBatisGeneratorTool {
//	private static Properties properties;
//	
//	static {
//		new MyBatisGeneratorTool().getResource();
//	}
//	
//	public static void main(String[] args) {
//		String configfile = properties.getProperty("configfile");
//		File configurationFile = new File(configfile);
//		
//		Set<String> fullyqualifiedTables = new HashSet<String>();
//		String tables = properties.getProperty("tables");
//		if (tables != null) {
//			for (String str : tables.split(",")) {
//				fullyqualifiedTables.add(str.trim());
//			}
//		}
//		String contextids = properties.getProperty("contextids");
//		Set<String> contexts = new HashSet<String>();
//		if (contextids != null) {
//			for (String str : contextids.split(",")) {
//				contexts.add(str);
//			}
//		}
//		List<String> warnings = new ArrayList<String>();
//		
//		 try {	
//			ConfigurationParser cp = new ConfigurationParser(warnings);
//			 Configuration config = cp.parseConfiguration(configurationFile);
//
//			 DefaultShellCallback shellCallback = new DefaultShellCallback(true);
//
//			 MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, shellCallback, warnings);
//
//			 ProgressCallback progressCallback = new VerboseProgressCallback();
//
//			 myBatisGenerator.generate(progressCallback, contexts, fullyqualifiedTables);
//		} catch (Exception e) {
//			e.printStackTrace();
//		}
//		 System.err.println(warnings);
//	}
//	
//	void getResource(){
//		InputStream in = getClass().getResourceAsStream("generator.properties");
//		properties = new Properties();
//		try {
//			properties.load(in);
//		} catch (IOException e) {
//			e.printStackTrace();
//		}
//	}
//}